package io.itit.ecp.admin.provide.action.req;

import io.itit.grass.common.provide.action.validation.IAdd;
import io.itit.grass.common.provide.action.validation.IUpdate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 *
 * @Author：Roy
 * @Description：楼栋参数
 * @Date：Create by 2023-11-23 09:55:22
 */
@Data
@ToString
@ApiModel("楼栋参数")
public class SceneEdificeReq implements Serializable {

	private static final long serialVersionUID = 1L;

	@Null(groups = IAdd.class)
	@NotBlank(groups = IUpdate.class)
	@ApiModelProperty("主键")
	private String id;

	@NotBlank
	@ApiModelProperty("项目ID")
	private String sceneProjectId;

	@ApiModelProperty("项目名称")
	private String projectName;

	@NotBlank
	@ApiModelProperty("楼栋名称")
	private String edificeName;

	@ApiModelProperty("定点位置(X轴)")
	private Double posX;

	@ApiModelProperty("定点位置(Y轴)")
	private Double posY;

	// up,bottom, left, right
	@ApiModelProperty("弹窗位置(up,bottom,left,right)")
	private String popPosition;

	/**
	 * 建筑面积
	 */
	@ApiModelProperty("建筑面积")
	private BigDecimal floorArea;

	@NotBlank
	@ApiModelProperty("开始楼层")
	private Integer startNum;

	@NotBlank
	@ApiModelProperty("结束楼层")
	private Integer endNum;

	@ApiModelProperty("楼层json")
	private String floorJson;

	@ApiModelProperty("背景图")
	private String backgroundImg;

	@NotBlank
	@ApiModelProperty("机构Id")
	private String deptId;

}
